
import {JsonProperty,MapperEntity} from 'json-mapper-object';
class PropertyVModel{

    @JsonProperty('iAntdProps.name')
    name = ''

    @JsonProperty('iAntdProps.groupId')
    groupId = null
    @JsonProperty('iAntdProps.span')
    containerSpan = null;

    @JsonProperty('visible')
    visible = false;

    @JsonProperty('isRequired')
    isRequired = false;

    @JsonProperty('inputType')
    inputType = 'text';

    @JsonProperty('maxLength')
    maxLength = '';

    @JsonProperty('selectOptionsValue')
    selectOptionsValue = void 0;

    

    @JsonProperty('placeholder')
    placeholder = void 0;

    @JsonProperty('iFormProps.mode')
    selectModel = 'single';
    
    @JsonProperty('iFormProps.label')
    label = '';

    @JsonProperty('iFormProps.labelCol.span')
    labelCol = '';
    @JsonProperty('iFormProps.wrapperCol.span')
    wrapperCol = '';

    @JsonProperty('iFormProps.disabled')
    isDisabled = false;
    get subGroup() {
        return this.groupId&&this.groupId.toString()
    }
}
export class PropertyInputVModel extends PropertyVModel{
    @JsonProperty('iFormProps.type')
    inputType = ''

    @JsonProperty('iFormProps.maxLength')
    maxLength = ''

    
}

export class PropertySelectVModel extends PropertyVModel{
   

    @JsonProperty('selectOptions')
    selectOptions = void 0;
}

export class PropertyRangePickerVModel extends PropertyVModel{


    @JsonProperty('format')
    format = 'YYYY-MM-DD HH:mm:ss'
    
    @JsonProperty('showTime')
    showTime = false

    @JsonProperty('disabledDate')
    disabledDate = ''
}
export class PropertyDatePickerVModel extends PropertyVModel{
   

    @JsonProperty('format')
    format = 'YYYY-MM-DD HH:mm:ss'
    
    @JsonProperty('showTime')
    showTime = false

    @JsonProperty('disabledDate')
    disabledDate = ''
}
export class PropertyRadioButtonVModel extends PropertyVModel{
    @JsonProperty('radioButtonOptionsValue')
    radioButtonOptionsValue = {key:'local',label:'数组List'};

    @JsonProperty('iFormProps.radioButton.options')
    radioButtonOptions = void 0;
}
export class PropertyRadioVModel extends PropertyVModel{
    @JsonProperty('radioOptionsValue')
    radioOptionsValue = {key:'local',label:'数组List'};

    @JsonProperty('iFormProps.radio.options')
    radioOptions = void 0;
}
export class PropertyUploadVModel extends PropertyVModel{
    

    @JsonProperty('uploadDataTransform')
    uploadDataTransform = '';

    @JsonProperty('uploadParams')
    uploadParams = '';

    @JsonProperty('uploadshowFileListGroup')
    uploadshowFileListGroup = '';

    @JsonProperty('uploadmaxFileCount')
    uploadmaxFileCount = '';

    @JsonProperty('uploadShowFileList')
    uploadShowFileList = false;

    @JsonProperty('uploadMultiple')
    uploadMultiple = false;

    @JsonProperty('uploadIsDragger')
    uploadIsDragger = false;

    @JsonProperty('uploadaccept')
    uploadacceptList = [];

    get uploadaccept() {
        return [...this.uploadacceptList]
    }
}

export class PropertySwitchVModel extends PropertyVModel{
   
}

